package cn.tedu.forum.pojo.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户基本信息实体类
 *
 * @author DunJu Zhou
 */
@Data
@Accessors(chain = true)
public class UserInfo implements Serializable {
    private Long id; // 用户编号
    private String username; // 用户名
    private String nickname; // 昵称
    private String password; // 密码（密文）
    private String phoneNumber; // 电话号码
    private String emailAddress; // 邮箱
    private String profile; // 个人简介
    private String avatarUrl; // 头像图片的地址
    private Integer gender; // 性别（0=保密，1=男性，2=女性）
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime dayOfBirth; // 出生日期
    private String location; // 所在地
    private BigDecimal balance; // 账户余额
    private Integer remember; // 记住用户名和密码（0=不记住，1=记住）
    private Integer enable; // 是否启用（1=启用，0=未启用）
    private String lastLoginIp; // 最后登录IP地址（冗余）
    private Integer loginCount; // 累计登录次数（冗余）
    private LocalDateTime gmtLastLogin; // 最后登录时间（冗余）
    private LocalDateTime gmtCreate; // 数据创建时间
    private LocalDateTime gmtModified; // 数据最后修改时间

}
